The present invention relates to programming of nonvolatile erasable programmable memories and more specifically, a technique to recover data from unreadable nonvolatile memory cells, which will increase the reliability and longevity of the memory cells.
Memory and storage is one of the key technology areas that is enabling the growth in the information age. With the rapid growth in the Internet, World Wide Web (WWW), wireless phones, personal digital assistants (PDAs), digital cameras, digital camcorders, digital music players, computers, networks, and more, there is continually a need for better memory and storage technology.
A particular type of memory is the nonvolatile memory. A nonvolatile memory retains its memory or stored state even when power is removed. Some types of nonvolatile erasable programmable memories include Flash, EEPROM, EPROM, MRAM, FRAM, ferroelectric, and magnetic memories. Some nonvolatile storage products include Flash disk drives, CompactFlash™ (CF) cards, MultiMedia cards (MMC), secure digital (SD) cards, Flash PC cards (e.g., ATA Flash cards), SmartMedia cards, personal tags (P-Tag), and memory sticks.
A widely used type of semiconductor memory storage cell is the Flash memory cell. Some types of floating gate memory cells include Flash, EEPROM, and EPROM. There are other types of memory cell technologies such as those mentioned above. Floating gate memory cells such as Flash are discussed as merely an example. The discussion in this application would also apply to other memory technologies other than floating gate technology with the appropriate modifications.
Memory cells are configured or programmed to a desired configured state. In particular, electric charge is placed on or removed from the floating gate of a Flash memory cell to put the cell into two or more stored states. One state is a programmed state and another state is an erased state. A Flash memory cell can be used to represent at least two binary states, a 0 or a 1. A Flash memory cell can also store more than two binary states, such as a 00, 01, 10, or 11. This cell can store multiple states and may be referred to as a multistate memory cell, a multilevel, or multibit memory cell. This allows the manufacture of higher density memories without increasing the number of memory cells since each memory cell can represent more than a single bit. The cell may have more than one programmed state. For example, for a memory cell capable of representing two bits, there will be three programmed states and an erased state.
Despite the success of nonvolatile memories, there also continues to be a need to improve the technology. It is desirable to improve the density, performance, speed, durability, and reliability of these memories. It is also desirable to reduce power consumption and reduce the cost per bit of storage. One aspect of nonvolatile memories is the techniques used to recover data from memory cells which are unreadable or marginally readable.
As can be appreciated, there is a need for improving the circuitry and techniques for operating on memory cells.